web3.js web3.eth.getTransaction
code:getTransaction.js
web3.eth.getTransaction(transactionHash callback)
与えられたトランザクションハッシュに対応するトランザクションを返します。
パラメータ
1. String
トランザクションハッシュ
2. Function
オプショナル
コールバック
第一引数に error オブジェクト、第二引数に result オブジェクトが渡されます。
戻り値
Object を返す Promise : transactionHash のトランザクションオブジェクト
hash - String
32バイト
トランザクションハッシュ
nonce - Number
このトランザクションが送られる前に実行されたトランザクション数
blockhash - String
32バイト
このトランザクションが取り込まれたブロックのハッシュ
pending の場合は null
blockNumber - Number
このトランザクションが取り込まれたブロックのブロック番号
pending の場合は null
transactionIndex - Number
ブロック内のトランザクションのインデックス位置の整数値
pending の場合は null
from - String
送信者のアドレス
to - String
受信者のアドレス
コントラクト作成のトランザクションの場合は null
value - String
送信された ether の値
単位は wei
gasPrice - String
送信者によって供給されたガスプライス
単位は wei
gas - String
送信者によって提供されたガス
input - String
このトランザクションと共にセットされたデータ
サンプル
code:example.js
web3.eth.getTransaction('0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b')
.then(console.log);
{
"hash": "0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b",
"nonce": 2,
"blockHash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46",
"blockNumber": 3,
"transactionIndex": 0,
"from": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"to": "0x6295ee1b4f6dd65047762f924ecd367c17eabf8f",
"value": '123450000000000000',
"gas": 314159,
"gasPrice": '2000000000000',
"input": "0x57cb2fc4"
}
動作デモ
code:demo.js
const web3 = new Web3(Web3.givenProvider || 'wss://mainnet.infura.io/ws')
web3.eth.getTransaction('0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b', (error, result) => {
console.log(result)
$(document.body).append('<textarea cols="100" rows="30">' + JSON.stringify(result, null, '\t') + '</textarea>')
})
code:demo_result.json
{
"blockHash": "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
"blockNumber": 6139707,
"from": "0xa7d9ddBE1f17865597fBD27EC712455208B6B76d",
"gas": 50000,
"gasPrice": "20000000000",
"hash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
"input": "0x68656c6c6f21",
"nonce": 21,
"to": "0xF02c1c8e6114b1Dbe8937a39260b5b0a374432bB",
"transactionIndex": 65,
"value": "4290000000000000",
"v": "0x25",
"r": "0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
"s": "0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c"
}
メモ
実際に実行した結果が、ドキュメントの戻り値と異なっていました。
まずは JSON RPC から
参考
Transaction の戻り値
type RPCTransaction struct {
BlockHash common.Hash json:"blockHash"
BlockNumber *hexutil.Big json:"blockNumber"
From common.Address json:"from"
Gas hexutil.Uint64 json:"gas"
GasPrice *hexutil.Big json:"gasPrice"
Hash common.Hash json:"hash"
Input hexutil.Bytes json:"input"
Nonce hexutil.Uint64 json:"nonce"
To *common.Address json:"to"
TransactionIndex hexutil.Uint json:"transactionIndex"
Value *hexutil.Big json:"value"
V *hexutil.Big json:"v"
R *hexutil.Big json:"r"
S *hexutil.Big json:"s"
}
関連